package 作业;

import java.lang.reflect.Array;
import java.util.Arrays;

public class 奇数偶数排列问题 {
    public static void main(String[] args) {
        /**
         * 定义一个数组其中包含多个数字。用自己的方式最终实现，
         * 奇数放在数组的左边，偶数放在数组的右边。（
         * 可以创建其他数组，不必须在原数组中改变）
         * 1. 要找奇数和偶数只需要判断对2取余即可。
         * 2. 找到一个奇数或偶数之后，把它放在哪个索引处？
         */

        //定义一个数组
        int[] arr = {11, 22, 33, 44, 55, 66, 77};

        //int[] arr2 = arr;
        //定义一个新的数组 让他的数组长度等于原来的数组长度
        int[] brr = new int[arr.length];
        //定义新数组左边的元素
        int left = 0;
        //定义新数组右边的元素  索引值应该减去1
        int right = arr.length - 1;
        //遍历这个数组
        for (int i = 0; i < arr.length; i++) {
            //对这个进行判断 如果是偶数  就将这个值赋值给右边  并且索引值减去1
            if (arr[i] % 2 == 0) {
                brr[right] = arr[i];
                right--;

            //如果是奇数  就将这个值赋值给左边的值  并且将索引值加上1
            } else {
                brr[left] = arr[i];
                left++;
            }

        }
        //遍历这个新的数组
        System.out.println(Arrays.toString(brr));


    }
}
